// /**
//  * Created by 席庆功
//  * Time: 2024/01/15.
//  */

import { _decorator, Component, Label, Sprite, Node, Texture2D, SpriteFrame, NodeEventType, assetManager, ImageAsset } from 'cc';
import { losChannel } from '../SDK/losChannel';
const { ccclass, property } = _decorator;

@ccclass('losNativeInterAd')
export class losNativeInterAd extends Component {
    @property(Label)
    title!: Label;
    @property(Label)
    source!: Label;
    @property(Label)
    clickBtnTxt!: Label;
    @property(Sprite)
    picUri!: Sprite;
    @property(Node)
    bg!: Node;
    private adid!: string;
    public init(adid: string, picUri: string, title: string, source: string, clickBtnTxt: string) {
        // console.log('init',adid,picUri,title,source,clickBtnTxt)
        // if(pzaChannel.instance().channel == 'hw'){
        // this.node.scale = 0.7;
        // this.node.y = 100;
        // }
        this.title.string = title;
        this.source.string = source;
        this.clickBtnTxt.string = clickBtnTxt;
        this.adid = adid;
        // this.clickUrl=clickUrl;

        this.bg.on(Node.EventType.TOUCH_END, this.clickAd, this)
        // NodeEventType.addListener(pzaWorldEventType.REPORT_AD_SHOW,this.reportAdShow,this);

        this.reportAdShow();
        this.loadPics(picUri)
    }
    protected onDisable(): void {
        this.bg.off(Node.EventType.TOUCH_END, this.clickAd, this)
        // pzaWorldEventManager.removeListener(pzaWorldEventType.REPORT_AD_SHOW,this.reportAdShow,this);
    }
    reportAdShow() {
        // console.log('reportAdShow adid:',this.adid)
        // console.log('reportAdShow clickUrl:',this.clickUrl)
        if (this.adid) {
            losChannel.instance().reportAdShow(this.adid);
        }
    }
    clickAd() {
        //        // console.log('clickInterAd adid:',this.adid)
        if (this.adid) {
            losChannel.instance().reportAdClick(this.adid);
        }
        this.close();
    }
    loadPics(picUri: any) {
        // console.log('loadPics')
        //remoteUrl 获取到的图片地址
        let remoteUrl = picUri
        let type = '.jpg';
        if (remoteUrl.indexOf('.png') != -1) {
            type = '.png';
        } else if (remoteUrl.indexOf('.jpg') != -1) {
            type = '.jpg';
        } else if (remoteUrl.indexOf('.jpeg') != -1) {
            type = '.jpeg';
        }
        // type = '.image'
        var self = this;
        // console.log("remoteUrl "+remoteUrl);
        // console.log("type "+type);
        // console.log('cc',cc)
        // console.log('cc.asset',cc.assetManager)
        // console.log('cc.assetManager.loadRemote',cc.assetManager.loadRemote)
        // cc.assetManager.loadRemote(remoteUrl,{ext:type},(err, res: any)=>{
        //     if (err) {
        //         console.log('err :',err);
        //         // pzakc.err('原生图片加载失败', type, err);
        //         self.close();
        //         return;
        //     }
        //     // console.log("err"+err);
        //     console.log('setSP')
        //     var spriteFrame=new cc.SpriteFrame(res);
        //     self.picUri.spriteFrame=spriteFrame;
        // });

        // const img = new Image();
        // img.src = remoteUrl;
        // img.crossOrigin = 'anonymous';
        // img.onload = (e) => {
        //    // console.log('load',remoteUrl, img, e);
        //     const texture = new Texture2D();
        //     texture.initWithElement(img);
        //     self.picUri.spriteFrame = new SpriteFrame(texture);
        // }

        assetManager.downloader.downloadDomImage(picUri, { ext: '.png' }, (err, res) => {
            let img2 = new ImageAsset(res as HTMLImageElement)
            const tex = new Texture2D();
            tex.image = img2;
            const spf = new SpriteFrame();
            spf.texture = tex;
            self.picUri.spriteFrame = spf;
        })
    }
    public close(): void {
        this.node.destroy()
    }
}


/**
 * 注意：已把原脚本注释，由于脚本变动过大，转换的时候可能有遗落，需要自行手动转换
 */
// import { pzaWorldEventManager, pzaWorldEventType } from "../Common/pzaWorldEventManager";
// import { pzaChannel } from "./pzaChannel";
// 
// /**
//  * Created by 席庆功
//  * Time: 2024/01/15.
//  */
// const {ccclass, property} = cc._decorator;
// 
// @ccclass
// export class pzaNativeInterAd extends cc.Component {
// 
//     @property(cc.Label)
//     title:cc.Label=null;
//     @property(cc.Label)
//     source:cc.Label=null;
//     @property(cc.Label)
//     clickBtnTxt:cc.Label=null;
//     @property(cc.Sprite)
//     picUri:cc.Sprite=null;
//     @property(cc.Node)
//     bg:cc.Node=null;
//     private adid:string=null;
//     public init(adid:string,picUri:string,title:string,source:string,clickBtnTxt:string){
//         // console.log('init',adid,picUri,title,source,clickBtnTxt)
//         // if(pzaChannel.instance().channel == 'hw'){
//             this.node.scale = 0.7;
//             this.node.y = 100;
//         // }
//         this.title.string=title;
//         this.source.string=source;
//         this.clickBtnTxt.string=clickBtnTxt;
//         this.adid=adid;
//         // this.clickUrl=clickUrl;
//         
//         this.bg.on(cc.Node.EventType.TOUCH_END,this.clickAd,this)
//         pzaWorldEventManager.addListener(pzaWorldEventType.REPORT_AD_SHOW,this.reportAdShow,this);
//         
//         this.reportAdShow();
//         this.loadPics(picUri)
//     }
// 
//     protected onDisable(): void {
//         this.bg.off(cc.Node.EventType.TOUCH_END,this.clickAd,this)
//         pzaWorldEventManager.removeListener(pzaWorldEventType.REPORT_AD_SHOW,this.reportAdShow,this);
//     }
// 
//     reportAdShow(){
//         // console.log('reportAdShow adid:',this.adid)
//         // console.log('reportAdShow clickUrl:',this.clickUrl)
//         if(this.adid){
//             pzaChannel.instance().reportAdShow(this.adid,this.node);
//         }
//     }
// 
//     clickAd(){
//         // console.log('clickInterAd adid:',this.adid)
//         if(this.adid){
//             pzaChannel.instance().reportAdClick(this.adid);
//         }
//         this.close();
//     }
// 
//     loadPics(picUri){  
//         // console.log('loadPics')
//         //remoteUrl 获取到的图片地址
//         let remoteUrl = picUri
//         let type = '.jpg';
//         if (remoteUrl.indexOf('.png') != -1) {
//             type = '.png';
//         } else if (remoteUrl.indexOf('.jpg') != -1) {
//             type = '.jpg';
//         } else if (remoteUrl.indexOf('.jpeg') != -1) {
//             type = '.jpeg';
//         }
//         // type = '.image'
//         var self=this;
//         // console.log("remoteUrl "+remoteUrl);
//         // console.log("type "+type);
//         // console.log('cc',cc)
//         // console.log('cc.asset',cc.assetManager)
//         // console.log('cc.assetManager.loadRemote',cc.assetManager.loadRemote)
//         // cc.assetManager.loadRemote(remoteUrl,{ext:type},(err, res: any)=>{
//         //     if (err) {
//         //         console.log('err :',err);
//         //         // pzakc.err('原生图片加载失败', type, err);
//         //         self.close();
//         //         return;
//         //     }
//         //     // console.log("err"+err);
//         //     console.log('setSP')
//         //     var spriteFrame=new cc.SpriteFrame(res);
//         //     self.picUri.spriteFrame=spriteFrame;
//         // });
// 
//         const img = new Image();
//         img.src = remoteUrl;
//         img.crossOrigin = 'anonymous';
//         img.onload = (e) => {
//             // console.log('load',remoteUrl, img, e);
//             const texture = new cc.Texture2D();
//             texture.initWithElement(img);
//             self.picUri.spriteFrame = new cc.SpriteFrame(texture);
//         }
//     }
// 
//     public close(): void {
//         this.node.destroy()
//     }
// }
